<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    //第一种方式 非简写
    // new Promise((resolve, reject) => {
    //     setTimeout(()=>{
    //         let res = 'aaa'
    //         resolve(res)
    //     },1000)
    // }).then((res)=>{
    //     res+='111'
    //     console.log(res,'第一次处理');
    //     return new Promise(((resolve, reject) => {
    //         setTimeout(()=>{
    //             resolve(res)
    //         },1000)
    //     }))
    // }).then((res)=>{
    //     res+='bbb';
    //     console.log(res,'222','第二次处理')
    //     return new Promise((resolve, reject) => {
    //         setTimeout(()=>{
    //             resolve(res)
    //         },1000)
    //     })
    // }).then((res)=>{
    //     console.log(res+'333','第三次处理')
    // })

    // 第二种简写的方法
    // new Promise(((resolve, reject) => {
    //     setTimeout(()=>{
    //         resolve('aaa')
    //     },1000)
    // })).then(res=>{
    //     res += 'bbb'
    //     console.log(res,'数据第一次处理');
    //     return Promise.resolve(res)
    // }).then(res=>{
    //     res += 'ccc';
    //     console.log(res,'数据第二次处理')
    //     return Promise.resolve(res)
    // }).then(res=>{
    //     res +='ddd'
    //     console.log(res,'数据第三次处理')
    // })

    // 第三种简写的方式
    new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve('aaa')
        }, 1000)
    }).then(res => {
        res += 'bbb'
        console.log(res, '数据第一次处理');
        return res
    }).then(res => {
        res += 'ccc'
        console.log(res, '数据第二次处理');
        return res
    }).then((res) => {
        res += 'ddd'
        console.log(res, '数据第三次处理');
    })
</script>
</html>
